var filter = Domain(
  data("Mean rating value", 
    why -> "dropped by product owner",
    state -> dropped,
    text -> "Elicitation = Brainstorming, Specification = Screenshots",
    gist -> "Mean value of POI ratings.",
    spec -> "All ratings for said POI divided by the number of ratings shown as number between 0-5 with one decimal precision.",
    prio -> 0
  ), 
  feature("Blacklisted", 
    why -> "dropped by product owner",
    state -> dropped,
    text -> "Elicitation = Brainstorming, Specification = Feature requirements",
    gist -> "Filters by blacklist",
    spec -> "The product shall support filtering out all blacklisted  locations.",
    prio -> 0
  ), 
  feature("Category", 
    gist -> "Filters by category",
    spec -> "The product shall support filtering by using categories as search criteria.",
    state -> dropped,
    text -> "Elicitation = Brainstorming, Specification = Feature requirements",
    prio -> 0
  ), 
  function("Filter bookmarks", 
    state -> created,
    text -> "Elicitation = Brainstorming, Specification =  Feature requirements",
    gist -> "It should be possible to filter by bookmarks",
    spec -> "It should be possible to only display POIs that has been bookmarked by the user. When using this filter, all POIs that are not bookmarked will be hidden.",
    owner -> "design",
    prio -> 3
  ), 
  function("Filter open hours", 
    state -> specified,
    text -> "Elicitation = Brainstorming, Specification =  Feature requirements",
    gist -> "Filter stores by opening hours",
    spec -> "The user should be able to specify a filter which make the map view only show stores which are open between specified hours.",
    owner -> "design",
    prio -> 4
  ), 
  function("Filter radius", 
    state -> specified,
    text -> "Elicitation = Brainstorming, Specification =  Feature requirements",
    gist -> "It should be possible to filter by radius",
    spec -> "It should be possible to only display POIs within a specified radius. The user decides on a radius (for instance by using a scroll wheel) resulting in an update of which POIs are displayed.",
    owner -> "design",
    prio -> 4
  ), 
  function("Filter radius") has (quality("Maximum radius")), 
  feature("Filter", 
    state -> specified,
    text -> "Elicitation = Brainstorming, Specification = Feature requirements",
    gist -> "Filtering of the results is possible",
    spec -> "The application provides different alternatives for filtering the results. The user can decide on different filters and when a new filter is selected, the displayed results are updated accordingly.",
    owner -> "product",
    prio -> 5
  ),
  feature("Filter") has (function("Filter radius"),function("Filter bookmarks"),function("Filter open hours")),
  feature("Rating", 
    gist -> "Filter by ratings",
    spec -> "The application rating filter should only allow the user to view ratings which are within an interval that start at a rating between 0-5 and ends at the rating 5.",
    state -> dropped,
    text -> "Elicitation = Brainstorming, Specification = Feature requierments",
    prio -> 0
  ), 
  quality("Maximum radius", 
    why -> "If the radius is increased too much the screen will be filled by pins obstructing the users view of the map",
    state -> specified,
    text -> "Elicitation = Brainstorming, Specification = Screenshotss",
    gist -> "Upper limit of radius set to 100km",
    spec -> "The user should not be able to expand the radius filter to show more than a 100km radius.",
    owner -> "design",
    prio -> 2
  )
)
